package com.oa.service;

import com.oa.back.ResponseBack;
import com.oa.common.base.Page;
import com.oa.common.base.Pageable;
import com.oa.entities.flows.Apps;

/**
 * 公文的服务层
 *
 */
public interface AppsService extends UndeleteService<Long,Apps> {

    /**
     * 提交公文的接口
     * @param params
     * 参数
     * @see com.oa.common.dto.AppsDto
     * @return
     */
    ResponseBack<Long> submit(String params);

    /**
     * 分页查询公文
     *
     * @param pageable
     * 分页组件
     *
     * @param key
     * 关键字
     *
     * @param type
     * 状态
     * @see com.oa.common.enums.apps.AppsSearchStatus
     * @return
     */
    Page<Apps> findPage(Pageable pageable,String key,Integer type);

    /**
     * 办理
     * @param params
     * 参数
     *
     * @see com.oa.common.dto.TransectDto
     *
     * @return
     */
    ResponseBack<String> transect(String params);

    /**
     * 获取公文的内容
     *
     * @param typeId
     * 公文模板的id
     *
     * @param appId
     * 公文的id
     *
     * @return
     */
    String getTemplate(Long typeId,Long appId);

    /**
     * 查询查看的视图
     *
     * @param typeId
     * 公文类型的id
     *
     * @param appsId
     * 公文的id
     *
     * @return
     */
    String getViews(Long typeId,Long appsId);

    /**
     * 流程转交下一步
     *
     * @param appsId
     * apps的id
     *
     * @param personId
     * 下一步办理人员的id
     *
     * @return
     */
    ResponseBack<String> core(Long appsId,Long personId,int appsType);

}
